# 编码流程
# 1.验证码的识别，获取验证码图片的文字数据
# 2.对post请求进行发送（处理请求参数）
# 3.对响应数据进行持久化存储

import requests
from lxml import etree

# 封装识别验证码图片的函数

# 创建一个session对象
session = requests.Session()

# 1.对验证码图片进行捕获和识别
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0'
}
url = 'https://www.renren.com/SysHome.do'
page_text = requests.get(url=url, headers=headers).text
tree = etree.HTML(page_text)
code_img_src = tree.xpath('//div[@')[0]
code_img_data = requests.get(url=code_img_src.url, headers=headers).content
with open('code.png', 'wb') as fp:
    fp.write(code_img_data)

# 使用云打码提供的示例代码对验证码图片进行识别
# result =
# print(result)

# post请求的发送（模拟登录）
login_url = 'https://www.renren.com'
data = {

}
# 使用session进行post请求的发送
response = requests.post(url=login_url, headers=headers, data=data)
print(response.status_code)

# 爬取当前用户的个人主页的页面数据
detail_url = 'https://www.renren.com'
# 手动cookie处理
# headers = {
#     'Cookie': 'xxxx'
# }
# 使用携带cookie的session进行get请求的发送
detail_page_text = session.get(url=detail_url, headers=headers).text
with open('bobo.html', 'w', encoding='utf-8') as fp:
    fp.write(detail_page_text)
